package cn.ljy.uem.model;

import cn.ljy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 学校课程资源实体类
 *
 * @author 小锋
 * @date 2022/08/16
 */
@ApiModel(value = "学校课程资源")
@Data
@NoArgsConstructor
public class SchoolCourseResource extends BaseModel {


    //资源id
    private Long id;
    @NotNull(message = "所属课程id不能为空")
    //所属课程
    private Long courseId;

    //资源类型
    private Integer type;

    //是否允许下载
    private Boolean allowDownload;

    //转向链接地址（如果存在则直接转向链接地址，否则打开本网站文章内容）
    private String linkUrl;

    //是否推荐（0表示不推荐，1表示推荐，推荐等在前台指定位置地方
    private Boolean recommend;

    //资源效果图（封面）
    private String picUrl;

    //资源标题（前端如果不填是文件名）
    private String title;

    //资源摘要
    private String excerpt;

    //资源介绍
    private String content;

    //文章作者名，由发布账户指定
    private String author;

    //排序（默认0，排序为最大），优先级在“是否推荐”z之下
    private Integer sort;

    //发布时间
    private Date createTime;

    //发布时间
    private Date updateTime;

    //录入者账户（对应账户表）
    private Long creator;


    //最后编辑者（对应账户表）
    private Long editor;

    //点击数
    private Integer click;

    //下载数
    private Integer downloadNumber;

    //资源远程路径（云路径）
    private String cloudUrl;

    //资源的访问路径，这里保存的是相对路径
    private String fileUrl;

    //资源的本地物理路径,这里保存的是绝对物理路径
    private String filePath;

    //资源大小（B）
    private Long resourceSize;

    //回收站（0表示不在回收站中，即该数据在正常显式；1表示在回收站中，但数据未真正删除，可以恢复
    private Boolean recycle;

    //非数据库字段
    private SchoolCourse schoolCourse;

    private SchoolTeacher schoolTeacher;

    private String sectionResourceId;//

}
